#define _CRT_SECURE_NO_WARNINGS 1

#include "mySet.h"
#include "myMap.h"
#include "myRBTree.h"

//int main()
//{
//	gp::set<int> s;
//	s.insert(2);
//	s.insert(1);
//	s.insert(3);
//
//	gp::set<int>::iterator sit = s.begin();
//	while (sit != s.end())
//	{
//		cout << *sit << " ";
//		++sit;
//	}
//	cout << endl;
//	cout << endl;
//
//
//	gp::map<int,int> m;
//	m.insert(make_pair(2, 20));
//	m.insert(make_pair(1, 100));
//	m.insert(make_pair(3, 30));
//
//
//	gp::map<int,int>::iterator mit = m.begin();
//	while (mit != m.end())
//	{
//		cout << mit->first << ":"<<mit->second<<endl;
//		++mit;
//	}
//	cout << endl;
//
//	return 0;
//}

#include <map>
using namespace std;

//int main()
//{
//	gp::map<string, string> m;
//	m["pan"];
//	m["guo"] = "shuaiqi";
//	m["pan"] = "zhubi";
//	for (auto& kv : m)
//	{
//		cout << kv.first << ":" << kv.second << endl;
//	}
//	cout << endl;
//
//	gp::map<string, string>::const_iterator cmit = m.begin();
//
//	while (cmit != m.end())
//	{
//		cout << cmit->first << ":" << cmit->second << endl;
//		++cmit;
//	}
//
//	//map<string, string> m1;
//	//m1["pan"];
//	//m1["guo"] = "shuaiqi";
//	//m1["pan"] = "zhubi";
//	//map<string, string>::iterator cm1it = m1.begin();
//
//	return 0;
//}

int main()
{
	gp::set<int> s;
	s.insert(2);
	s.insert(1);
	s.insert(3);

	for (auto& e : s)
	{
		cout << e << " ";
	}
	cout << endl;

	return 0;
}